//package xy.mybatis.plus.generate;
//
//import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
//import com.baomidou.mybatisplus.core.toolkit.StringUtils;
//import com.baomidou.mybatisplus.generator.FastAutoGenerator;
//import com.baomidou.mybatisplus.generator.config.OutputFile;
//import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
//
//import java.util.Collections;
//import java.util.Scanner;
//
///**
// * @Classname GenerateCodeUtil
// * @Description TODO
// * @Date 2023/11/14 18:01
// * @Created by wangxianlin
// */
//public class GenerateCodeUtil {
//
//    private static final String AUTHOR = "xiaoxiao.demo";
//    // 代码生成路径
//    private static final String OUT_DIR = System.getProperty("user.dir") + "/src/main/java";
//    // 父级路径
//    private static final String PARENT_PATH = "xy.mybatis.plus";
//
//    // Mapper.xml 生成路径
//    private static final String MAPPER_XML_PATH = "/Users/wangxianlin/kdgc/project/xiaoxiao-demo-pro/ORM框架/db/xy-integra-mybatis-plus/src/main/resources/mapper";
//
//    public static void main(String[] args) {
//        //url是数据库的url  账户 密码
//        FastAutoGenerator.create("jdbc:mysql://localhost:3306/demo?serverTimezone=UTC", "root", "123456")
//                .globalConfig(builder -> {
//                    builder // 设置作者
//                            .author(AUTHOR)
//                            // 覆盖已生成文件
//                            .fileOverride()
//                            // 指定输出目录
//                            .outputDir(OUT_DIR);
//                })
//                .packageConfig(builder -> {
//                    builder  // 设置父包名
//                            .parent(PARENT_PATH)
//                            // 设置父包模块名
//                            .moduleName(scanner("请输入模块名"))
//                            // 设置mapperXml生成路径
//                            .pathInfo(Collections.singletonMap(OutputFile.xml, MAPPER_XML_PATH));
//                })
//                .strategyConfig(builder -> {
//                    // 设置需要生成的表名
//                    builder.addInclude(scanner("请输入表名"));
//                })
//                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板，默认的是Velocity引擎模板
//                .execute();
//    }
//
//    /**
//     * <p>
//     * 读取控制台内容
//     * </p>
//     */
//    public static String scanner(String tip) {
//        Scanner scanner = new Scanner(System.in);
//        StringBuilder help = new StringBuilder();
//        help.append("请输入" + tip + "：");
//        System.out.println(help.toString());
//        if (scanner.hasNext()) {
//            String ipt = scanner.next();
//            if (StringUtils.isNotBlank(ipt)) {
//                return ipt;
//            }
//        }
//        throw new MybatisPlusException("请输入正确的" + tip + "！");
//    }
//
//
//}
